﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 方法参数的类型__值类型和引用类型1
{
    class Program
    {
        public static void Swap(int n1, int n2)
        {
            int temp;
            temp = n1;
            n1 = n2;
            n2 = temp;
        }//值类型参数
    
        static void Main(string[] args)
        {
            int s1 = 1;
            int s2 = 2;
            Console.WriteLine("交换前两个数值分别是" + s1 + " " + s2);
            Swap(s1, s2);//调用Swap()方法并没有达到交换两个变量值的目的。这是因为采用值传递参数s1和s2时，尽管方法执行时交换了两个参数的值，但方法执行结束后这种修改并没有被保留
            Console.WriteLine("交换后两个数值分别是" + s1 + " " + s2);
            Console.ReadLine();
        }
     
    }
}
